import java.util.Random;

public class CalculationSystemV03 {
    public static void main(String[] args)
    {

        // 打印系统标题
        System.out.println("加减法口算练习系统-v0.2");
        System.out.println("======================");

        Random random = new Random();
        int totalQuestions = 50;  // 总题目数量
        int columns = 3;          // 每行显示的题目数量

        for (int i = 0; i < totalQuestions; i++) {
            int num1, num2, result;
            char operator;

            // 随机决定运算类型（0:加法，1:减法）
            if (random.nextInt(2) == 0) {
                // 加法：确保和不超过100
                num1 = random.nextInt(100);
                // 第二个数最大值为(100 - num1)，保证和不超过100
                num2 = random.nextInt(101 - num1);
                result = num1 + num2;
                operator = '+';
            } else {
                // 减法：确保差不小于0
                num1 = random.nextInt(100);
                // 第二个数不大于第一个数，保证差非负
                num2 = random.nextInt(num1 + 1);
                result = num1 - num2;
                operator = '-';
            }

            // 构建带答案的算式字符串，固定长度保证对齐
            String question = String.format("%d. %d %c %d = %d",
                    (i + 1), num1, operator, num2, result);

            // 打印题目，每行显示指定数量的题目
            System.out.printf("%-25s", question);  // 左对齐，固定25个字符宽度
            if ((i + 1) % columns == 0) {
                System.out.println();  // 达到指定数量换行
            }
        }
    }
}